package br.com.financeiro;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import br.com.financeiro.dao.TipoContaDao;
import br.com.financeiro.model.TipoConta;

public class TipoContaActivity extends Activity {

	Button cadastrarTipoConta;
	ListView listarTipoConta;
    ArrayAdapter<String> listAdapter;
	ArrayList<String> tipoContasString = new ArrayList<String>();
	String exibir;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_tipo_conta);
		//verifica exibir
		if(getIntent() != null){
			if(getIntent().getExtras() != null){
				if(getIntent().getExtras().getString("exibir") != null){
						Toast.makeText(TipoContaActivity.this,getIntent().getExtras().getString("exibir"), Toast.LENGTH_LONG).show();
				}
			}
		}
		cadastrarTipoConta = (Button) findViewById(R.id.cadastrarTipoConta);
		cadastrarTipoConta.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				Intent cadastrarTipoContaIntent = new Intent(TipoContaActivity.this,CadastrarTipoContaActivity.class);
				startActivity(cadastrarTipoContaIntent);
			}
		});
		
		//Listar todas os tipo de contas
		listarTipoConta(); 
		
	     
	     listarTipoConta.setOnItemClickListener(new OnItemClickListener() {

            @Override
            public void onItemClick(AdapterView<?> arg0, View arg1,
                    int position, long arg3) {
            	//enviar posicao do tipo de conta que foi selecionado para a activity editarExcluir
               Intent editarTipoContaIntent = new Intent(TipoContaActivity.this,EditarTipoContaActivity.class);
               editarTipoContaIntent.putExtra("posicao", position);
               startActivity(editarTipoContaIntent);
            }
        });
	}
	
	public void listarTipoConta(){
		//Listar todas os tipo de contas
		TipoContaDao tipoContaDao = TipoContaDao.getInstance(getApplicationContext());
		List<TipoConta> tipoContas = new ArrayList<TipoConta>();
		tipoContasString.clear();
		try{
			tipoContas = tipoContaDao.recuperarTodos();
		}catch (Exception e) {
		}
		if(!tipoContas.isEmpty()){			
			for (TipoConta tipoConta : tipoContas) {
				tipoContasString.add(tipoConta.getDescricao());
			}
		}
		listarTipoConta = (ListView) findViewById(R.id.listaTipoConta);
		 listAdapter = new ArrayAdapter<String>(TipoContaActivity.this,
	                android.R.layout.simple_list_item_1, tipoContasString);
	     listarTipoConta.setAdapter(listAdapter);
	}
	
	@Override
	protected void onResume() {
		super.onResume();
		listarTipoConta();
	}
	
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.tipo_conta, menu);
		return true;
	}
}
